perlѧϰ֮·


        

    perl����Unixϵͳ������ĿǰҲ�����Unix�С�Perl��ʵ��ժ¼�뱨�����ԣ�Practical Extraction and Report Language),��дP��ʾ�ġ�Perl"ָ���dz������ԣ���Сдp��ʾ"perl"ָ������ʵ�ʱ��벢���г���Ľ���������Ĵ�������Larry,�����Ŀ��������Sell��awkһ���ܿ��ٱ�̣����ܾ߱�grep,cut��sort��sed�ĸ߼����ܣ�������ͼ�������c/c++�������Ժ͸߼�����֮��Ŀ�϶��perl�ʺ����ִ��?ҵ�����̹��?���ʺ���"���ʽ"�ij�������˿�������������㷨����
      ���ȣ�������������д��һ��Ī���͵�perl����
      #!/usr/bin/perl -w#������perlִ�г���ľ��·��
    use strict;#����strict ���������Щ����Ĺ淶���������벻��Ϲ淶���ᷢ������
    use warnings;
    use Getopt::Long;
    use Data::Dumper;
    use FindBin qw($Bin $Script);
    use File::Basename qw(basename dirname);
    my $BEGIN_TIME=time();
    my $version="1.0.0";

# GetOptions
my ($fIn,$fOut);#���Ƕ���ֲ�����

GetOptions(
                "help|?" =>\&USAGE,
                "o:s"=>\$fOut,
                "i:s"=>\$fIn,
                ) or &USAGE;
&USAGE unless ($fIn and $fOut);#���ǻ�ȡ�����в���

open (IN,$fIn) or die $!;#��һ���ļ��Ƿ�ɹ������ɹ�������ϵͳ�ṩ�Ĵ���$!)
open (OUT,">$fOut") or die $!;

#$/=">";#����һ���ָ����ı����ַ�>�����ָ����Ķ�Ӧ����

while (<IN>) {#<IN>�ǵ�����ļ�һֱ������״̬û���쳣����ʱ
    chomp;
    next if (/$/);
    my @lines=split /\n/,$_;
}

close IN;
close OUT;


print STDOUT "\nDone. Total elapsed time : ",time()-$BEGIN_TIME,"s\n";



# sub function

#������ĺ�����c���ԣ����Dz���Ҫ��C ������Ҫ������
sub ABSOLUTE_DIR{ #$pavfile=&ABSOLUTE_DIR($pavfile);
    my $cur_dir=`pwd`;chomp($cur_dir);
    my ($in)=@_;
    my $return="";
    if(-f $in){
        my $dir=dirname($in);
        my $file=basename($in);
        chdir $dir;$dir=`pwd`;chomp $dir;
        $return="$dir/$file";
    }elsif(-d $in){
        chdir $in;$return=`pwd`;chomp $return;
    }else{
        warn "Warning just for file and dir\n";
        exit;
    }
    chdir $cur_dir;
    return $return;
}



sub max{#&max(lists or arry);
    #���б��е����ֵ
    my $max=shift;
    my $temp;
    while (@_) {
        $temp=shift;
        $max=$max>$temp?$max:$temp;
    }
    return $max;
}



sub min{#&min(lists or arry);
    #���б��е���Сֵ
    my $min=shift;
    my $temp;
    while (@_) {
        $temp=shift;
        $min=$min<$temp?$min:$temp;
    }
    return $min;
}



sub revcom(){#&revcom($ref_seq);
    #��ȡ�ַ����еķ������У����ַ���ʽ���ء�ATTCCC->GGGAAT
    my $seq=shift;
    $seq=~tr/ATCGatcg/TAGCtagc/;
    $seq=reverse $seq;
    return uc $seq;           
}



sub GetTime {
    my ($sec, $min, $hour, $day, $mon, $year, $wday, $yday, $isdst)=localtime(time());
    return sprintf("%4d-%02d-%02d %02d:%02d:%02d", $year+1900, $mon+1, $day, $hour, $min, $sec);
}


sub USAGE {
    my $usage=<<"USAGE";
 ProgramName:
     Version:   $version
     Contact:   Simon Young <yangxh\@biomarker.com.cn> 
Program Date:   2012.07.02
      Modify:   
 Description:   This program is used to ......
       Usage:
        Options:
        -i <file>   input file,xxx format,forced

        -o <file>   output file,optional

        -h      help

USAGE
    print $usage;
    exit;
}


���ij��� ��վ�ھ��˼��֮�ϱ���� ���ͣ�����ر����˳���http://wosin.blog.51cto.com/10182098/1678158

你可能感兴趣的:(perlѧϰ֮·)