Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.3
inst-source-utils
split.pl
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File split.pl of Package inst-source-utils
#!/usr/bin/perl -w # use strict; my $file=""; my $newfile=""; my $newdata=""; my $starttag="# <!--internal-->"; my $endtag="# <!--/internal-->"; my $loglevel=0; sub usage { print <<EOF Usage: $0 [-s <start-tag>] [-e <end-tag>] <filename> <newfile> splits out textblocks marked with start and endtag. Default: $starttag $endtag -s <starttag> : define new start-tag -e <endtag> : define new end-tag EOF ; exit 1; } sub LOG { my $message = shift; my $level = shift || 0; # my $time = localtime(time); if ( $level <= $loglevel ) { # print LOGFILE "[$time] [$$] $message\n"; print "$message\n"; } } sub splitInternal { my $file=shift; my $data; open (FILE,"$file") || die ("Can not open $file: $! $?!\n"); while (<FILE>) { chomp; if ( $_ =~ /^$starttag/){ while (<FILE>) { chomp; last if $_ eq "$endtag"; } } else { $data .= "$_\n"; } } return $data; } while (my $param = shift (@ARGV)) { if (( $param eq "-h" ) || ( $param eq "--help" )){ usage(); } if (($param eq "-s" ) || ($param eq "--start-tag")){ $starttag=shift(@ARGV); next; } if (($param eq "-e" ) || ($param eq "--end-tag")){ $endtag=shift(@ARGV); next; } if (($param eq "-v" ) || ($param eq "--verbose")){ $loglevel=2; next; } if ($file eq ""){ $file=$param; next; } $newfile=$param; } if ($newfile eq ""){ die("newfile not defined!\n"); usage(); } if ($file eq ""){ die("filename not defined!\n"); usage(); } if (-f $file) { $newdata=splitInternal($file); LOG ("File $newfile exists - overwriting!\n",1) if (-f $newfile); open(NEWFILE, "> $newfile"); print NEWFILE $newdata; close(NEWFILE); LOG("New file $newfile written",2); } else { print "File $file not found.\n"; usage(); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor