Я пытаюсь использовать файл all.css
, содержащий некоторые классы, и хочу получить файл green.css
, содержащий только зеленые классы.Извлечь конкретные классы css в файл
Я использую perl
CSS
модуль, любые предложения о том, как я могу использовать его для поиска строк, содержащих .green
и заканчиваются {
, а затем извлечь блок CSS?
Я новичок в Perl, До сих пор я пытался просто напечатать строки селекторного соответствия «зеленого», но я не могу заставить его работать:
my $css = CSS->new({ 'parser' => 'CSS::Parse::Lite'});
print $styleSheetPath;
$css->read_file($styleSheetPath);
open my $fileHandle, ">>", "green.css" or die "Can't open 'green.css'\n";
#search for lines that contain .green and end { and then extract css block
#and write to green.css
serialize($css);
sub serialize{
my ($obj) = @_;
for my $style (@{$obj->{styles}}){
print join "\n ", map {$_->{name}} @{$style->{selectors}};
if (grep(/green/, @{$style->{selectors}})) {
print "green matches ";
print $_->{name};
}
}
}
@innaM отредактировал мой вопрос –