加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl格式化模板

发布时间:2020-12-15 23:50:48 所属栏目:大数据 来源:网络整理
导读:#!/usr/bin/env perluse warnings;use strict;use Getopt::Long;use FindBin qw($Bin);use File::Basename qw(basename);use File::Spec::Functions qw(rel2abs);##### main program #####my $mainPL = basename($0);my $ysbin = "$Bin/ysbin";main;exit;sub
#!/usr/bin/env perl
use warnings;
use strict;
use Getopt::Long;
use FindBin qw($Bin);
use File::Basename qw(basename);
use File::Spec::Functions qw(rel2abs);

##### main program #####
my $mainPL = basename($0);
my $ysbin = "$Bin/ysbin";

&main;
exit;

sub main
{
	&usage if(@ARGV < 1);

	my $command = shift(@ARGV);
	my %func = 
	(
		"venn"  => &;venn,);

	if(!defined($func{$command}))
	{
		warn("ntUnknown command: "$command"n");
		&usage;
	}
	&{$func{$command}};
}

sub usage
{
	die(qq/
	Usage:	$mainPL <command> [options]
	Command:
		venn           draw venn pics and get venn matrix of samples.
	n/);
}

##### sub program #####
sub venn
{
	my $pl = "perl $ysbin/venn.pl";
	my $help;
	GetOptions(
		"help|h" => $help,);
	die `$pl 2>&1` if($help);

	die(qq/
	Usage:	$mainPL venn <files> <labels>
	Notes:
		1. Need R and VennDiagram package of R
		2. <files> means a,b,...(2~5 files); <labels> means x,y,...(2~5 labels)
	Options:
		-help|-h			see the detail help information about venn
	n/) if(@ARGV != 2);

	&runSH("$pl -f $ARGV[0] -l $ARGV[1]");
}

sub runSH
{
	my ($sh) = @_;
	&showTime($sh);
	`$sh`;
	&showTime("Task is completed~");
}

sub showTime
{
	my ($text) = @_;
	my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime;
	my $format_time = sprintf("[%d-%.2d-%.2d %.2d:%.2d:%.2d]",$year+1900,$mon+1,$sec);
	print STDERR "$format_time $textn";
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读